<?php

function ajouterEntete($d){
	$s =& load("sql");
	$s->insert("entete",
			   array(
					"ent_nom" => $d["nom"],
					"ent_description" => $d["description"]  ));
	$s->select("ent_UID","entete","","order by ent_UID desc limit 0,1");
	$r=$s->fetch_object();
	return $r->ent_UID;
}

function ajouterUtilisateur($d){
	$s=&load("Sql");
	$s->insert("utilisateur", 
			array(
					"uti_login"=>$d["login"],
					"uti_pass"=>md5($d["pass"]),
					"uti_groupe"=>$d["groupe"],
					"uti_nomprenom"=>$d["nomprenom"],
					"uti_mail"=>$d["mail"]));
	return $s->uti_UID;
}

// On stocke temporairement les infos dans la table de session de l'utilisateur, jusqu'à ce qu'il ait terminé
function stockerFichExo($d, $nom1, $nom2){
	$s=&load("Sql");
	$s->update("sessions", array("temp"=>$d), array("nom1" => $nom1, "nom2" => $nom2));
}

// Nettoie le stockage temporaire, et ajoute la fiche
function insererFichExo($d, $nom1, $nom2, $aut){
	
	$s=&load("sql");
	$s->select("temp","sessions", array("nom1" => $nom1, "nom2" => $nom2));
	$r = $s->fetch_object();
	// on a $r->temp qui contient les infos de la fiche (titre, commentaire, selectcategorie, selectentete)
	
	$s->insert("fich_exo",
			array(
					"fic_titre"=>$r->temp["titre"],
					"fic_datecreation"=>time(),
					"fic_data"=>$r->temp["commentaire"],
					"fic_entete"=>$r->temp["selectentete"],
					"fic_categorie"=>$r->temp["selectcategorie"],
					"fic_auteur"=>$aut));
	$s->select("MAX(fic_UID) as lastuid","fich_exo");
	$r=$s->fetch_object();
	return $r->lastuid;
}

// Insérer dans la table historique un lien entre un exo et sa fiche d'exercice
function creerhistoriquefiche($f, $e){
	$s =& load("sql");
	foreach($e as $k)
		$s->insert("historique", array("his_UIDexo" => $k, "his_UIDfich" => $f));
}


function ajouterCategoriefich($d){
	$s=&load("sql");
	$s->insert("categoriefich",
			array(
					"cat_nom"=>$d["nom"]));
}

function ajouterEtiquette($d){
	$s=&load("sql");
	$s->insert("etiquette",
			array(
					"eti_nom"=>$d["nom"],
					"eti_group"=>$d["cat"]));
}

function ajouterExoattente($d){
	$s=&load("sql");
	$s->insert("exoattente",
		array(
				"exa_titre"=>$d["titre"],
				"exa_motsclef"=>$d["motsclef"],
				"exa_difficulte"=>$d["difficulte"],
				"exa_data"=>$d["commentaire"]));
	$s->select("exa_UID","exoattente","","order by exa_UID desc limit 0,1");
	$r=$s->fetch_object();
	$id=$r->exa_UID;
	$s->insert("exoattente_groupesexos",array("typ_UIDgroupesexos"=>$d["groupesexosselect"],"typ_UIDexoattente"=>$id));
	return $id;
}

function ajouterExercice($d){
	$s=&load("sql");
	$s->insert("exercice",
		array(
				"exo_titre"=>$d["titre"],
				"exo_motsclef"=>$d["motsclef"],
				"exo_difficulte"=>$d["difficulte"],
				"exo_data"=>$d["commentaire"]));
	$s->select("exo_UID","exercice","","order by exo_UID desc limit 0,1");
	$r=$s->fetch_object();
	$id=$r->exo_UID;

	$s->insert("exo_groupesexos",array("typ_UIDgroupesexos"=>$d["groupesexosselect"],"typ_UIDexercices"=>$id));

	return $id;
	}

function supprimerEtiquette($id){
	$s=&load("sql");
	$s->delete("etiquette","eti_UID=".$s->proteger($id));}
	
function supprimerEntete($id){
	$s=&load("sql");
	$s->delete("entete","ent_UID=".$s->proteger($id));}

function supprimerExercice($id){
	$s=&load("sql");
	$s->delete("exo_groupesexos","typ_UIDexercices=".$s->proteger($id));
	$s->delete("exercice","exo_UID=".$s->proteger($id));
}
	
function supprimerExoattente($id){
	$s=&load("sql");
	$s->delete("exoattente_groupesexos","typ_UIDexoattente=".$s->proteger($id));
	$s->delete("exoattente","exa_UID=".$s->proteger($id));}
	
function supprimerCategoriefich($id){
	$s=&load("sql");
	$s->delete("categoriefich","cat_UID=".$s->proteger($id));}

function supprimerUtilisateur($id){
	$s=&load("Sql");
	$s->delete("utilisateur","uti_UID=".$s->proteger($id));}
	
function supprimerFichExo($id){
	$s=&load("sql");
	$s->delete("fich_exo","fic_UID=".$s->proteger($id));}
	
function recupEntete($id){
	$s=&load("sql");
	$s->select("*","entete",array("ent_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"nom"=>$obj->ent_nom,
		"description"=>$obj->ent_description
	);
	return $dat;
	}
function modifEntete($d,$id){
	$s=&load("sql");
	$s->update("entete",
				array(
						"ent_nom"=>$d["nom"],
						"ent_description"=>$d["description"]), 
				array("ent_UID"=>$id));
}

function recupUtilisateur($id){
	$s=&load("Sql");
	$s->select("*","utilisateur",array("uti_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"login"=>$obj->uti_login,
		"pass"=>$obj->uti_pass,
		"groupe"=>$obj->uti_groupe,
		"nomprenom"=>$obj->uti_nomprenom,
		"mail"=>$obj->uti_mail);
	return $dat;
	}

function modifUtilisateur($d,$id){
	$s=&load("Sql");
	$s->update("utilisateur",
				array(
						"uti_login"=>$d["login"],
						"uti_pass"=>md5($d["pass"]),
						"uti_groupe"=>$d["groupe"],
						"uti_nomprenom"=>$d["nomprenom"],
						"uti_mail"=>$d["mail"]), 
				array("uti_UID"=>$id));
}

function recupEtiquette($id){
	$s=&load("sql");
	$s->select("*","etiquette",array("eti_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"group"=>$obj->eti_group,
		"nom"=>$obj->eti_nom);
	return $dat;
	}


function modifEtiquette($d,$id){
	$s=&load("sql");
	$s->update("etiquette",
				array(
						"eti_nom"=>$d["nom"],
						"eti_group"=>$d["cat"]),
				array("eti_UID"=>$id));
}

function recupCategoriefich($id){
	$s=&load("sql");
	$s->select("*","categoriefich",array("cat_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"nom"=>$obj->cat_nom);
	return $dat;
	}

function modifCategoriefich($d,$id){
	$s=&load("sql");
	$s->update("categoriefich",
				array(
						"cat_nom"=>$d["nom"]),
				array("cat_UID"=>$id));
}

function recupExercice($id){
	$s=&load("sql");
	$s->select("*","exercice",array("exo_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"titre"=>$obj->exo_titre,
		"motsclef"=>$obj->exo_motsclef,
		"difficulte"=>$obj->exo_difficulte,
		"commentaire"=>$obj->exo_data);
	return $dat;
	}

function modifExercice($d,$id){
	$s=&load("Sql");
	$s->delete("exo_groupesexos","typ_UIDexercices=".$s->proteger($id));
	$s->update("exercice",
				array(
						"exo_titre"=>$d["titre"],
						"exo_motsclef"=>$d["motsclef"],
						"exo_difficulte"=>$d["difficulte"],
						"exo_data"=>$d["commentaire"]),
				array("exo_UID"=>$id));


	$s->insert("exo_groupesexos",array("typ_UIDgroupesexos"=>$d["groupesexosselect"],"typ_UIDexercices"=>$id));

}

function recupExoattente($id){
	$s=&load("sql");
	$s->select("*","exoattente",array("exa_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"titre"=>$obj->exa_titre,
		"motsclef"=>$obj->exa_motsclef,
		"difficulte"=>$obj->exa_difficulte,
		"commentaire"=>$obj->exa_data);
	return $dat;
}

function modifExoattente($d,$id){
	$s=&load("sql");
	$s->update("exoattente",
				array(
						"exa_titre"=>$d["titre"],
						"exa_motsclef"=>$d["motsclef"],
						"exa_difficulte"=>$d["difficulte"],
						"exa_data"=>$d["commentaire"]),
				array("exa_UID"=>$id));
}

function modifFichexo($d,$id){
	$s=&load("sql");
	$s->update("fich_exo",
				array(
						"fic_titre"=>$d["titre"],
						"fic_datecreation"=>time(),
						"fic_data"=>$d["commentaire"],
						"fic_auteur"=>"moi",
						"fic_categorie"=>$d["selectcategorie"]),
				array("fic_UID"=>$id));
}

function recupFichexo($id){
	$s=&load("Sql");
	$s->select("*","fich_exo",array("fic_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"titre"=>$obj->fic_titre,
		"datecreation"=>$obj->fic_datecreation,
		"commentaire"=>$obj->fic_data,
		"auteur"=>$obj->fic_auteur,
		"entete"=>$obj->fic_entete,
		"categorie"=>$obj->fic_categorie);
	return $dat;
	}

function ajouterGroupe($d){
	$s=&load("Sql");
	$s->insert("groupes",
			array(
					"grp_parent"=>"0",
					"grp_nom"=>$d["nom"]));
	
}

function recupGroupe($id){
	$s=&load("Sql");
	$s->select("*","groupes",array("grp_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
				"parent"=>$obj->grp_parent,
				"nom"=>$obj->grp_nom);
	return $dat;
}

function modifGroupe($d,$id){
	$s=&load("Sql");
	$s->update("groupes",
				array(
						"grp_nom"=>$d["nom"]),
				array("grp_UID"=>$id));
}

function modifSousGroupe($d,$id){
	$s=&load("Sql");
	$s->update("groupes",
				array(
						"grp_parent"=>$d["selectgroupe"],
						"grp_nom"=>$d["nom"]),
				array("grp_UID"=>$id));
}

function supprimerGroupe($id){
	$s=&load("sql");
	$s->delete("groupes","grp_UID=".$s->proteger($id));
	$s->delete("etiquette","eti_group=".$s->proteger($id));
}
	
function recuptousgroupes(){
$s=&load("sql");
$s->select("grp_nom,grp_UID","groupes",array("grp_parent"=>"0"));
$tab=array();
while($r = $s->fetch_object()){
	$tab[$r->grp_UID]=$r->grp_nom;
}
return $tab;}

function ajouterSousGroupe($d){
$s=&load("Sql");
$s->insert("groupes",
				array(
						"grp_parent"=>$d["selectgroupe"],
						"grp_nom"=>$d["nom"]));
}

function recupEtiquetteExo($id){
$s=&load("Sql");
$s->select("typ_UIDetiquette","exo_etiquette",array("typ_UIDexo"=>$id));
$tab=array();
while($r = $s->fetch_object()){
	$tab[$r->typ_UIDetiquette]=true;
}
return $tab;}

function validerExercice($ajout,$idsuppr){
	$id=ajouterExercice($ajout);
	supprimerExoattente($idsuppr);
	return $id;
}

function recupToutesCategories(){
$s=&load("Sql");
$s->select("cat_nom,cat_UID","categoriefich");
$tab=array();
while($r = $s->fetch_object()){
	$tab[$r->cat_UID]=$r->cat_nom;
}
return $tab;}

function recupToutesEntetes(){
$s=&load("Sql");
$s->select("ent_nom,ent_UID","entete");
$tab=array();
while($r = $s->fetch_object()){
	$tab[$r->ent_UID]=$r->ent_nom;
}
return $tab;}

function recupAdministrateurs(){
$s=&load("Sql");
$s->select("uti_mail,uti_nomprenom","utilisateur","uti_groupe=1000");
$tab=array();
while($r=$s->fetch_object()){
	$tab[]=array("nomprenom"=>$r->uti_nomprenom,"mail"=>$r->uti_mail);
}
return $tab;
}

function modifInfos($d,$id){
	$s=&load("Sql");
	$s->update("utilisateur",
				array(
						"uti_login"=>$d["login"],
						"uti_pass"=>md5($d["pass"]),
						"uti_nomprenom"=>$d["nomprenom"],
						"uti_mail"=>$d["mail"]), 
				array("uti_UID"=>$id));
}



function recupererClassement(){

	$res = array();

	$s =& load("Sql");

	$s->select("*", "groupes", "", "ORDER BY grp_nom ASC");


	while($r = $s->fetch_object()){
		if ($r->grp_parent == 0) // Groupe de base
			$type = "cat";
		else
			$type= "scat";

		$res[] = array($type, "grp".$r->grp_UID, (($r->grp_parent == 0) ? "0" : "grp".$r->grp_parent), $r->grp_nom);
	}


	$s->select("*", "etiquette", "", "ORDER BY eti_nom ASC");
	
	while($r = $s->fetch_object()){
		$res[] = array("eti", $r->eti_UID, $r->eti_group, $r->eti_nom);
	}

	
	return $res;

}
/*
function recupererGroupes(){

	$res = array();

	$s =& load("Sql");
	$s->select("*", "groupes", "", "ORDER BY grp_nom ASC");

	while($r = $s->fetch_object()){
		if ($r->grp_parent == 0) // Groupe de base
			$type = "cat";
		else
			$type= "scat";

		$res[] = array($type, "grp".$r->grp_UID, (($r->grp_parent == 0) ? "0" : "grp".$r->grp_parent), $r->grp_nom);
	}

	return $res;

}*/

function recupGroupesExos($id){
	$s=&load("sql");
	$s->select("*","groupesexos",array("grp_UID"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"nom"=>$obj->grp_nom);
	return $dat;
	}

function recupGroupeDunExercice($id){
	$s=&load("sql");
	$s->select("*","exo_groupesexos",array("typ_UIDexercices"=>$id));
	$obj=$s->fetch_object();
	$dat=array(
		"typ_UIDgroupesexos"=>$obj->typ_UIDgroupesexos);
	return $dat;
}

function recupNomGroupeDunExo($id){
	$uidgroup = recupGroupeDunExercice($id);
	$nomgroupe = recupGroupesExos($uidgroup["typ_UIDgroupesexos"]);
	return $nomgroupe;
}

function recupExosDunGroupe($id) {
	$s=&load("sql");
	$s->select("*","exo_groupesexos",array("typ_UIDgroupesexos"=>$id));
	$tab=array();
	while($r=$s->fetch_object()){
		$dat=array("exo_UID"=>$r->typ_UIDexercices);
		$s2->select("*","exercice",array("exo_UID"=>$dat["typ_UIDexercices"]));
		$obj=$s2->fetch_object();
		echo $obj;
		$tab[]=array(	"exo_titre"=>$obj->exo_titre,
				"exo_difficulte"=>$obj->exo_difficulte);
	}
	return $tab;
}
function recupTousGroupesExos(){
	$s=&load("sql");
	$s->select("grp_nom,grp_UID","groupesexos");
	$tab=array();
	while($r = $s->fetch_object()){
		$tab[$r->grp_UID]=$r->grp_nom;
	}
	return $tab;
}

function ajouterGroupesExos($d){
	$s=&load("sql");
	$s->insert("groupesexos",
			array(
					"grp_nom"=>$d["nom"]));
}

function modifGroupesExos($d,$id){
	$s=&load("sql");
	$s->update("groupesexos",
				array(
						"grp_nom"=>$d["nom"]),
				array("grp_UID"=>$id));
}

function supprimerGroupesExos($id){
	$s=&load("sql");
	$s->delete("exo_groupesexos","typ_UIDgroupesexos=".$s->proteger($id));
	$s->delete("groupesexos","grp_UID=".$s->proteger($id));
}


?>
